Portable handheld devices such as smartphones and tablet computing devices are widely distributed around the globe. Many individuals carry such a device, and use it for a variety of functions. These devices can use both cellular and Wi-Fi data networks and accordingly offer their users the ability to access content almost constantly. While the widespread usage of these devices offers obvious opportunities for gaming, entertainment, and other electronic media, the diversity of the devices presents challenge to producers who want to develop content for as wide an audience as possible.
Functionality and content is often delivered to these devices as or within executable files commonly called “apps”. Apps can be installed onto smartphones and similar devices to provide a wide range of games, information, and interactivity. There are a large number of apps offering games, email, social networking, shopping, and media players, for example. Typically, apps are developed to operate within a specific platform, such as Java ME.
Many popular devices on the market support the Java ME platform. For example, a number of vendors offer Windows Mobile phones, which typically support Java ME. One widely distributed platform is Symbian, which also supports Java ME.
However, several popular devices do not support Java ME. For example, Java ME is not supported by iPhone, which instead requires Objective C. Many devices offer the Linux-based Android, which does not support Java ME. Similarly, Samsung's bada platform uses applications written in C++, using the bada SDK, and does not support Java ME.
With this diversity among electronic device platforms, creating content to reach all of their users requires creating a separate app for each, and having each user download, compile, or install the app to their device. A real difficulty arises when a producer wants to alter the content of the app, for instance to change its functionality. For example, if a producer had already produced and distributed a solitaire app, but wanted to add a new kind of solitaire game, the producer would create a new app, including the game, for each platform the producer wished to service. Users would then download and re-install the app to their device.
Similarly, a producer may want to deliver a fun electronic quiz during a series of sporting events. The quiz content may not be determinable ahead of time. For example, the producer may want to ask questions about the teams as they play the games, but the outcomes of games early in the series may determine which teams play later in the series. Users may be uninterested in the quiz if they must re-install the app before each game. Or, the producer may be unable to develop new apps for each platform in the time frame of the series.